package br.ufrj.dcc.comp2.musica.vista;

import java.awt.Component;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;

import javax.swing.BorderFactory;
import javax.swing.JPanel;

import br.ufrj.dcc.comp2.musica.controle.ControleCardLayout;
import br.ufrj.dcc.comp2.musica.listeners.ListenerDadosPessoais;
import br.ufrj.dcc.comp2.musica.controle.ControleCardLayout;

public class PainelFormularioDadosPessoais extends JPanel {

	private static final long serialVersionUID = 1L;

	PainelEnderecoFormularioDadosPessoais painelEndereco;
	PainelContatoFormularioDadosPessoais painelContato;
	PainelBotoesFormularioDadosPessoais painelBotoes;

	GridBagConstraints gBagCons;
	private ControleCardLayout controleCardLayout;
	
	public ControleCardLayout getControleCardLayout() {
		return controleCardLayout;
	}
	
	public PainelFormularioDadosPessoais (ControleCardLayout controleCardLayout) {
		
		this.controleCardLayout =  controleCardLayout;
		gBagCons = new GridBagConstraints();  
			
		painelEndereco = new PainelEnderecoFormularioDadosPessoais();
		painelContato = new PainelContatoFormularioDadosPessoais();
		painelBotoes = new PainelBotoesFormularioDadosPessoais();
		
		
		painelContato.setLabelEmail("E-mail");
		
		painelBotoes.getBotaoSalvarAlteracoes().addActionListener(new ListenerDadosPessoais(this));
		painelBotoes.getBotaoAlterarSenha().addActionListener(new ListenerDadosPessoais(this));
		
		this.setLayout(new GridBagLayout());
		this.setBorder(BorderFactory.createTitledBorder("Dados Pessoais"));
		
		gBagCons.anchor = GridBagConstraints.WEST;
		
		adicionar(painelEndereco, 0, 0);
		adicionar(painelContato, 0, 1);
				
		gBagCons.anchor = GridBagConstraints.CENTER;
		gBagCons.insets = new Insets(40, 10, 0, 10);

		adicionar(painelBotoes, 0, 2);
			
	}
	
	public void adicionar(Component c, int x, int y) {
		
		gBagCons.gridx = x;
		gBagCons.gridy = y;
	
		add(c, gBagCons);
	}

	public PainelEnderecoFormularioDadosPessoais getPainelEndereco() {
		return painelEndereco;
	}

	public void setPainelEndereco(
			PainelEnderecoFormularioDadosPessoais painelEndereco) {
		this.painelEndereco = painelEndereco;
	}

	public PainelContatoFormularioDadosPessoais getPainelContato() {
		return painelContato;
	}

	public void setPainelContato(PainelContatoFormularioDadosPessoais painelContato) {
		this.painelContato = painelContato;
	}

	public PainelBotoesFormularioDadosPessoais getPainelBotoes() {
		return painelBotoes;
	}

	public void setPainelBotoes(PainelBotoesFormularioDadosPessoais painelBotoes) {
		this.painelBotoes = painelBotoes;
	}
}
